using System;

namespace Sedna.Core.Persistence
{
	/// <summary>
	/// implementation of a filter state that expresses the internal filter state as a 
	/// HQL request string
	/// </summary>
	public interface IHqlFilterState : IFilterState
	{
		/// <summary>
		/// returns a HQL string fully eqipped with  
		/// paramenters, i.e. no placeholders (like '?' or named parameters) 
		/// can be left.
		/// The developers are discouraged from using this approach since it can 
		/// raise severe problems with parameters injection and escaping.
		/// </summary>
		/// <returns>valid HQL request</returns>
		string ToHqlString();
	}
}
